package com.bean;

import lombok.Data;

@Data
public class ResponseBean {
    
    // http 状态码
    private int code;

    // 返回信息
    private String msg;

    // 返回的数据
    private Object data;

    private long count;

    private final static String ERROR="操作失败";
    private final static String SUCCESS="操作成功";
    private final static String NULLDATA="";
    private final static int SUCCESS_CODE=200;
    private final static int ERROR_CODE=500;

    /**
     *  分页不能使用这种方式
     * @param zt    是否成功          必填    可以是任何类型
     * @param i     是否需要结果      必填    0不需要，1需要
     * @param p     返回的数据        选填    这个就是我们返回的结果
     * @return
     */
    public static ResponseBean vo(boolean zt, int i, Object ...p){

        if(zt==true){
            if(i==0){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,p);
            }
        }else{
            if(i==0){
                return new ResponseBean(ERROR_CODE,ERROR,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(ERROR_CODE,ERROR,p);
            }
        }
        return null;
    }

    public static ResponseBean vo(Object zt, int i, String s, Object ...p){

        if(zt!=null){
            if(i==0){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,p);
            }
        }else{
            if(i==0){
                return new ResponseBean(ERROR_CODE,ERROR,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(ERROR_CODE,ERROR,p);
            }
        }
        return null;
    }

    public static ResponseBean vo(Integer zt, int i, Object ...p){

        if(zt!=null && zt>0){
            if(i==0){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(SUCCESS_CODE,SUCCESS,p);
            }
        }else{
            if(i==0){
                return new ResponseBean(ERROR_CODE,ERROR,NULLDATA);
            }
            if(i==1){
                return new ResponseBean(ERROR_CODE,ERROR,p);
            }
        }
        return null;
    }

    public ResponseBean(int code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public ResponseBean(int code, long count, Object data) {
        this.code = code;
        this.count = count;
        this.data = data;
    }

}